// pages/register/register.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    phone: '',
    password: '',
    confirmPassword: '',
    showPassword: false,
    showConfirmPassword: false,
    agreeToTerms: false,
    canRegister: false, // 控制注册按钮是否可点击
    isLoading: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 如果从登录页跳转过来，可能会传递一些参数
    if (options.phone) {
      this.setData({
        phone: options.phone
      });
    }
  },

  /**
   * 检查注册按钮是否可用
   */
  checkCanRegister() {
    const { phone, password, confirmPassword, agreeToTerms } = this.data;
    const canRegister = 
      this.validatePhone(phone) && 
      password.length >= 6 && 
      password === confirmPassword && 
      agreeToTerms;
    
    this.setData({ canRegister });
  },

  /**
   * 验证手机号格式
   */
  validatePhone(phone) {
    const phoneReg = /^1[3-9]\d{9}$/;
    return phoneReg.test(phone);
  },

  /**
   * 输入手机号
   */
  inputPhone(e) {
    this.setData({
      phone: e.detail.value
    }, () => {
      this.checkCanRegister();
    });
  },

  /**
   * 输入密码
   */
  inputPassword(e) {
    this.setData({
      password: e.detail.value
    }, () => {
      this.checkCanRegister();
    });
  },

  /**
   * 输入确认密码
   */
  inputConfirmPassword(e) {
    this.setData({
      confirmPassword: e.detail.value
    }, () => {
      this.checkCanRegister();
    });
  },

  /**
   * 切换密码可见性
   */
  togglePasswordVisibility() {
    this.setData({
      showPassword: !this.data.showPassword
    });
  },

  /**
   * 切换确认密码可见性
   */
  toggleConfirmPasswordVisibility() {
    this.setData({
      showConfirmPassword: !this.data.showConfirmPassword
    });
  },

  /**
   * 切换同意协议状态
   */
  toggleAgreement() {
    this.setData({
      agreeToTerms: !this.data.agreeToTerms
    }, () => {
      this.checkCanRegister();
    });
  },

  /**
   * 处理注册请求
   */
  handleRegister() {
    const { phone, password, confirmPassword, agreeToTerms, canRegister } = this.data;
    
    if (!canRegister) return;
    
    // 再次验证各项输入
    if (!this.validatePhone(phone)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      });
      return;
    }
    
    if (password.length < 6) {
      wx.showToast({
        title: '密码长度不能少于6位',
        icon: 'none'
      });
      return;
    }
    
    if (password !== confirmPassword) {
      wx.showToast({
        title: '两次输入的密码不一致',
        icon: 'none'
      });
      return;
    }
    
    if (!agreeToTerms) {
      wx.showToast({
        title: '请同意用户协议和隐私政策',
        icon: 'none'
      });
      return;
    }
    
    // 显示加载状态
    this.setData({ isLoading: true });
    
    // 这里应该调用注册API
    // wx.request({
    //   url: 'your-api-url/register',
    //   method: 'POST',
    //   data: {
    //     phone: phone,
    //     password: password
    //   },
    //   success: (res) => {
    //     // 处理成功响应
    //   },
    //   fail: (err) => {
    //     // 处理失败响应
    //   },
    //   complete: () => {
    //     this.setData({ isLoading: false });
    //   }
    // });
    
    // 模拟注册成功
    setTimeout(() => {
      // 注册成功提示
      wx.showToast({
        title: '注册成功',
        icon: 'success',
        duration: 1500,
        success: () => {
          // 延迟跳转到登录页
          setTimeout(() => {
            wx.redirectTo({
              url: '/pages/account_check/account_check',
            });
          }, 1500);
        }
      });
      
      this.setData({ isLoading: false });
    }, 1500);
  },

  /**
   * 处理微信注册
   */
  handleWechatRegister() {
    wx.showToast({
      title: '微信注册开发中',
      icon: 'none'
    });
  },

  /**
   * 查看用户协议
   */
  viewTerms() {
    wx.navigateTo({
      url: '/pages/terms/terms'
    });
  },

  /**
   * 查看隐私政策
   */
  viewPrivacyPolicy() {
    wx.navigateTo({
      url: '/pages/privacy/privacy'
    });
  },

  /**
   * 返回登录页
   */
  navigateToLogin() {
    wx.navigateBack();
  }
}) 